refactor: embedded Packages/<id> package layout + drop org.nuget scope - #21
Merged
Conversation
…/com.ivanmurzak.unity.mcp.particlesystem Adopt the Unity-MCP-Plugin embedded-UPM layout so Unity auto-resolves the package's declared dependencies. DLLs stay in the project Assets/Plugins/NuGet. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
NuGet DLLs are vendored under Assets/Plugins/NuGet, so the org.nuget* OpenUPM scopes are unused. Remove from test-project + installer manifests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR pilots the repo’s “extension-family” layout by relocating the shippable Unity package from Unity-Package/Assets/root/ into an embedded UPM package at Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/, and updates surrounding tooling/config to reference the new location. It also removes the unused org.nuget OpenUPM scope from test/installer manifests.
Changes:
- Move package source into
Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/(embedded UPM layout) and update file-based references in Unity test projects. - Update CI (
release.yml), PowerShell command scripts, and documentation to use the new package directory. - Remove
org.nuget*scoped registries from manifests (NuGet DLLs are vendored underAssets/Plugins/NuGetper PR description).
Reviewed changes
Copilot reviewed 23 out of 77 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| Unity-Tests/6000.3.1f1/Packages/packages-lock.json | Updates local file: path to new embedded package directory. |
| Unity-Tests/6000.3.1f1/Packages/manifest.json | Updates local file: path and removes org.nuget scope. |
| Unity-Tests/2023.2.22f1/Packages/packages-lock.json | Updates local file: path to new embedded package directory. |
| Unity-Tests/2023.2.22f1/Packages/manifest.json | Updates local file: path and removes org.nuget scope. |
| Unity-Tests/2022.3.62f3/Packages/packages-lock.json | Updates local file: path to new embedded package directory. |
| Unity-Tests/2022.3.62f3/Packages/manifest.json | Updates local file: path and removes org.nuget scope. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/package.json | Defines the embedded UPM package manifest (name/version/deps). |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/package.json.meta | Unity meta for package manifest. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/README.md | Package README moved/added under embedded package root. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/README.md.meta | Unity meta for package README. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/LICENSE | Package-local MIT license. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/LICENSE.meta | Unity meta for package-local license. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/CHANGELOG.md | Package changelog content under embedded package root. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/CHANGELOG.md.meta | Unity meta for changelog. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Documentation~/.gitignore | Keeps Documentation~ folder in git. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Samples~/.gitignore | Keeps Samples~ folder in git. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime.asmdef | Runtime assembly definition for the package. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Runtime.asmdef.meta | Unity meta for runtime asmdef. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Runtime/.gitignore | Keeps Runtime folder in git. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Runtime.meta | Unity meta for Runtime folder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.asmdef | Editor assembly definition for the package. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.asmdef.meta | Unity meta for editor asmdef. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.cs | Declares MCP tool type partial class. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.cs.meta | Unity meta for tool type file. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.Get.cs | Implements particle-system-get tool. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.Get.cs.meta | Unity meta for get tool. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.Modify.cs | Implements particle-system-modify tool. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools/ParticleSystem.Modify.cs.meta | Unity meta for modify tool. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Tools.meta | Unity meta for Tools folder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/GetParticleSystemResponse.cs | Response DTO for get tool. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/GetParticleSystemResponse.cs.meta | Unity meta for get response DTO. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/ModifyParticleSystemResponse.cs | Response DTO for modify tool. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/ModifyParticleSystemResponse.cs.meta | Unity meta for modify response DTO. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/ParticleSystemData.cs | Serialized data model for ParticleSystem modules. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data/ParticleSystemData.cs.meta | Unity meta for data model. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/Data.meta | Unity meta for Data folder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts/.gitignore | Keeps Editor/Scripts folder in git. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Scripts.meta | Unity meta for Editor/Scripts folder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Gizmos/icon.png | Adds gizmo/icon asset for the package. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Gizmos/icon.png.meta | Unity meta for icon. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Gizmos/.gitignore | Keeps Gizmos folder in git. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor/Gizmos.meta | Unity meta for Gizmos folder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Editor.meta | Unity meta for Editor folder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/BaseTest.cs | Test base utilities for tool tests. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/BaseTest.cs.meta | Unity meta for editor test base. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/TestToolParticleSystemGet.cs | Editor tests for get tool. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/TestToolParticleSystemGet.cs.meta | Unity meta for get tool tests. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/TestToolParticleSystemModify.cs | Editor tests for modify tool. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/TestToolParticleSystemModify.cs.meta | Unity meta for modify tool tests. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.asmdef | Editor tests assembly definition. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/com.IvanMurzak.Unity.MCP.ParticleSystem.Editor.Tests.asmdef.meta | Unity meta for editor tests asmdef. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor/.gitignore | Keeps Tests/Editor folder in git. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Editor.meta | Unity meta for Tests/Editor folder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/DemoTest.cs | Runtime test placeholder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/DemoTest.cs.meta | Unity meta for runtime test. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Tests.asmdef | Runtime tests assembly definition. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/com.IvanMurzak.Unity.MCP.ParticleSystem.Tests.asmdef.meta | Unity meta for runtime tests asmdef. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime/.gitignore | Keeps Tests/Runtime folder in git. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests/Runtime.meta | Unity meta for Tests/Runtime folder. |
| Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/Tests.meta | Unity meta for Tests folder. |
| Unity-Package/Assets/root.meta | Removes old Assets/root folder meta as part of layout migration. |
| Installer/Assets/Packages/manifest.json | Drops org.nuget* scopes from installer project manifest. |
| Installer/Assets/com.IvanMurzak/AI Particle System Installer/README.md | Updates docs to reference new embedded package path. |
| docs/openupm-signing.md | Updates signing docs to new package directory. |
| docs/Manual-Package-Rename.md | Updates rename docs to new package directory. |
| docs/Deploy-OpenUPM.md | Updates deploy docs to new package directory. |
| docs/Deploy-npmjs.md | Updates deploy docs to new package directory. |
| docs/Deploy-GitHub.md | Updates deploy docs to new package directory. |
| docs/claude/release.md | Updates version-tracking docs to new package directory. |
| docs/claude/ci.md | Updates CI docs to new package directory. |
| docs/claude/architecture.md | Updates architecture docs to new package directory. |
| commands/use-local-mcp.ps1 | Updates package.json path reference to new embedded package location. |
| commands/update-ai-game-developer.ps1 | Updates package.json path reference to new embedded package location. |
| commands/get-version.ps1 | Updates package.json path reference to new embedded package location. |
| commands/bump-version.ps1 | Updates version file path reference to new embedded package location. |
| CLAUDE.md | Updates package source path reference to new embedded package location. |
| .github/workflows/release.yml | Updates package directory used for versioning and signing/build steps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - Copy the updated `README.md` to `Assets/root` as well. | ||
| - Copy the updated `README.md` to `Packages/com.ivanmurzak.unity.mcp.particlesystem` as well. | ||
|
|
||
| > ⚠️ Everything outside of the `root` folder won't be added to your package. But still could be used for testing or showcasing your package at your repository. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Pilot of the extension-family layout refactor: move the shippable package from
Unity-Package/Assets/root/to a proper embedded UPM package atUnity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem/, mirroring the Unity-MCP-Plugin layout. Also drops the unusedorg.nugetOpenUPM scope (NuGet DLLs are vendored underAssets/Plugins/NuGet).Why
The
Assets/rootlayout forces every project to hand-duplicate the package's dependencies in its manifest. As an embedded UPM package, Unity auto-resolves the package's declared dependencies on open.Changes
git mv Unity-Package/Assets/root → Unity-Package/Packages/com.ivanmurzak.unity.mcp.particlesystem(100%-similarity renames → all.metaGUIDs preserved).file:references in the 3 Unity-Tests manifests/locks,release.yml(path:+PACKAGE_DIR:),commands/*.ps1, and docs.Assets/Plugins/NuGet).org.nuget*scopes from test-project + installer manifests.🤖 Generated with Claude Code